/* vim: set tabstop=4:softtabstop=4:shiftwidth=4:noexpandtab */

/*
   	ITU-T G.723.1 Software Package Release 2 (June 2006)

    ITU-T G.723.1 Speech Coder   ANSI-C Source Code Version 5.0
    copyright (c) 1995, AudioCodes, DSP Group, France Telecom,
    Universite de Sherbrooke.  All rights reserved.
*/

#include "g723_const.h"
/*
**
** File:        tab_lbc.c
**
** Description: Tables used for G.723.1 encoding and decoding
**  
** Tables:      HammingWindowTable[180]
**
**              LPC Computation and Filtering
**
**                  BinomialWindowTable[10]
**                  BandExpTable[10]
**
**              LSP calculation and quantization
**
**                  CosineTable[512]
**                  LspDcTable[10]
**                  BandInfoTable[3][2]
**                  Band0Tb8[256*3]
**                  Band1Tb8[256*3]
**                  Band2Tb8[256*4]
**                  BandQntTable[3]
**
**              Perceptual Filtering and Post Filtering
**

**                  PerFiltZeroTable[10]
**                  PerFiltPoleTable[10]
**                  PostFiltZeroTable[10]
**                  PostFiltPoleTable[10]
**                  LpfConstTable[2] (pitch postfilter)
**
**              ACELP or MP-MLQ
**
**                  Nb_puls[4] (MP-MLQ)
**                  FcbkGainTable[24] (ACELP and MP-MLQ)
**                  MaxPosTable[4]  (MP-MLQ), int32_t
**                  CombinatorialTable[6][30](MP-MLQ),int32_t
**                  epsi170[170] (ACELP)
**                  gain170[170] (ACELP)
**
**              Pitch Prediction
**
**                  AcbkGainTable085[85*20]
**                  AcbkGainTable170[170*20]
**                  AcbkGainTablePtr[2]
**
**              Taming procedure
**
**                  tabgain170[170]
**                  tabgain85[85]
**
**              Comfort Noise Generation
**
**                  fact[4]
**                  L_bseg[3], int32_t
**                  base[3]
**
**
**              All tables are int16_t unless separately denoted
*/

/*
**  HammingWindowTable:
**
**  Hamming Window coefficients scaled by 32768 (Q15).
**
*/

int16_t HammingWindowTable[LpcFrame] = {
	2621,
	2631,
	2659,
	2705,
	2770,
	2853,
	2955,
	3074,
	3212,
	3367,
	3541,
	3731,
	3939,
	4164,
	4405,
	4663,
	4937,
	5226,
	5531,
	5851,
	6186,
	6534,
	6897,
	7273,
	7661,
	8062,
	8475,
	8899,
	9334,
	9780,
	10235,
	10699,
	11172,
	11653,
	12141,
	12636,
	13138,
	13645,
	14157,
	14673,
	15193,
	15716,
	16242,
	16769,
	17298,
	17827,
	18356,
	18884,
	19411,
	19935,
	20457,
	20975,
	21489,
	21999,
	22503,
	23002,
	23494,
	23978,
	24455,
	24924,
	25384,
	25834,
	26274,
	26704,
	27122,
	27529,
	27924,
	28306,
	28675,
	29031,
	29373,
	29700,
	30012,
	30310,
	30592,
	30857,
	31107,
	31340,
	31557,
	31756,
	31938,
	32102,
	32249,
	32377,
	32488,
	32580,
	32654,
	32710,
	32747,
	32766,
	32766,
	32747,
	32710,
	32654,
	32580,
	32488,
	32377,
	32249,
	32102,
	31938,
	31756,
	31557,
	31340,
	31107,
	30857,
	30592,
	30310,
	30012,
	29700,
	29373,
	29031,
	28675,
	28306,
	27924,
	27529,
	27122,
	26704,
	26274,
	25834,
	25384,
	24924,
	24455,
	23978,
	23494,
	23002,
	22503,
	21999,
	21489,
	20975,
	20457,
	19935,
	19411,
	18884,
	18356,
	17827,
	17298,
	16769,
	16242,
	15716,
	15193,
	14673,
	14157,
	13645,
	13138,
	12636,
	12141,
	11653,
	11172,
	10699,
	10235,
	9780,
	9334,
	8899,
	8475,
	8062,
	7661,
	7273,
	6897,
	6534,
	6186,
	5851,
	5531,
	5226,
	4937,
	4663,
	4405,
	4164,
	3939,
	3731,
	3541,
	3367,
	3212,
	3074,
	2955,
	2853,
	2770,
	2705,
	2659,
	2631,
	2621,
};

/*
**  BinomialWindowTable:
**
**  Purpose:
**     Binomial Window coefficients used to weight the autocorrelation before
**     Levinson-Durbin in the LPC coefficient calculation.  
**
**     Table Structure:
**     Coefficients are scaled by 32768 (Q15).
**
*/

int16_t BinomialWindowTable[LpcOrder] = {
	32749,
	32695,
	32604,
	32477,
	32315,
	32118,
	31887,
	31622,
	31324,
	30995,
};

/*
**  BandExpTable:
**
**  Purpose:
**      Do bandwidth expansion on the LPC coefficients by scaling the
**      poles of the LPC synthesis filter by a factor of 0.994

**
**  Table Structure:
**      Table values correspond to (0.994) to the power of x,
**      where x = [0,..,10].
**      These values are scaled by 32768 (Q15).
**
*/

int16_t BandExpTable[LpcOrder] = {
	32571,
	32376,
	32182,
	31989,
	31797,
	31606,
	31416,
	31228,
	31040,
	30854,
};

/*
**  CosineTable:
**
**  Purpose:
**      Used to evaluate polynomial for LSP-LPC conversion
**
**  Table Structure:
**      Contains one period of a cosine wave.  Amplitude has been
**      scaled to go between 0 and 16384 instead of 0 and 1.
**
*/

int16_t CosineTable[CosineTableSize] = {
	16384,
	16383,
	16379,
	16373,
	16364,
	16353,
	16340,
	16324,
	16305,
	16284,
	16261,
	16235,
	16207,
	16176,
	16143,
	16107,
	16069,
	16029,
	15986,
	15941,
	15893,
	15843,
	15791,
	15736,
	15679,
	15619,
	15557,
	15493,
	15426,
	15357,
	15286,
	15213,
	15137,
	15059,
	14978,
	14896,
	14811,
	14724,
	14635,
	14543,
	14449,
	14354,
	14256,
	14155,
	14053,
	13949,
	13842,
	13733,
	13623,
	13510,
	13395,
	13279,
	13160,
	13039,
	12916,
	12792,
	12665,
	12537,
	12406,
	12274,
	12140,
	12004,
	11866,
	11727,
	11585,
	11442,
	11297,
	11151,
	11003,
	10853,
	10702,
	10549,
	10394,
	10238,
	10080,
	9921,
	9760,
	9598,
	9434,
	9269,
	9102,
	8935,
	8765,
	8595,
	8423,
	8250,
	8076,
	7900,
	7723,
	7545,
	7366,
	7186,
	7005,
	6823,
	6639,
	6455,
	6270,
	6084,
	5897,
	5708,
	5520,
	5330,
	5139,
	4948,
	4756,
	4563,
	4370,
	4176,
	3981,
	3786,
	3590,
	3393,
	3196,
	2999,
	2801,
	2603,
	2404,
	2205,
	2006,
	1806,
	1606,
	1406,
	1205,
	1005,
	804,
	603,
	402,
	201,
	0,
	-201,
	-402,
	-603,
	-804,
	-1005,
	-1205,
	-1406,
	-1606,
	-1806,
	-2006,
	-2205,
	-2404,
	-2603,
	-2801,
	-2999,
	-3196,
	-3393,
	-3590,
	-3786,
	-3981,
	-4176,
	-4370,
	-4563,
	-4756,
	-4948,
	-5139,
	-5330,
	-5520,
	-5708,
	-5897,
	-6084,
	-6270,
	-6455,
	-6639,
	-6823,
	-7005,
	-7186,
	-7366,
	-7545,
	-7723,
	-7900,
	-8076,
	-8250,
	-8423,
	-8595,
	-8765,
	-8935,
	-9102,
	-9269,
	-9434,
	-9598,
	-9760,
	-9921,
	-10080,
	-10238,
	-10394,
	-10549,
	-10702,
	-10853,
	-11003,
	-11151,
	-11297,
	-11442,
	-11585,
	-11727,
	-11866,
	-12004,
	-12140,
	-12274,
	-12406,
	-12537,
	-12665,
	-12792,
	-12916,
	-13039,
	-13160,
	-13279,
	-13395,
	-13510,
	-13623,
	-13733,
	-13842,
	-13949,
	-14053,
	-14155,
	-14256,
	-14354,
	-14449,
	-14543,
	-14635,
	-14724,
	-14811,
	-14896,
	-14978,
	-15059,
	-15137,
	-15213,
	-15286,
	-15357,
	-15426,
	-15493,
	-15557,
	-15619,
	-15679,
	-15736,
	-15791,
	-15843,
	-15893,
	-15941,
	-15986,
	-16029,
	-16069,
	-16107,
	-16143,
	-16176,
	-16207,
	-16235,
	-16261,
	-16284,
	-16305,
	-16324,
	-16340,
	-16353,

	-16364,
	-16373,
	-16379,
	-16383,
	-16384,
	-16383,
	-16379,
	-16373,
	-16364,
	-16353,
	-16340,
	-16324,
	-16305,
	-16284,
	-16261,
	-16235,
	-16207,
	-16176,
	-16143,
	-16107,
	-16069,
	-16029,
	-15986,
	-15941,
	-15893,
	-15843,
	-15791,
	-15736,
	-15679,
	-15619,
	-15557,
	-15493,
	-15426,
	-15357,
	-15286,
	-15213,
	-15137,
	-15059,
	-14978,
	-14896,
	-14811,
	-14724,
	-14635,
	-14543,
	-14449,
	-14354,
	-14256,
	-14155,
	-14053,
	-13949,
	-13842,
	-13733,
	-13623,
	-13510,
	-13395,
	-13279,
	-13160,
	-13039,
	-12916,
	-12792,
	-12665,
	-12537,
	-12406,
	-12274,
	-12140,
	-12004,
	-11866,
	-11727,
	-11585,
	-11442,
	-11297,
	-11151,
	-11003,
	-10853,
	-10702,
	-10549,
	-10394,
	-10238,
	-10080,
	-9921,
	-9760,
	-9598,
	-9434,
	-9269,
	-9102,
	-8935,
	-8765,
	-8595,
	-8423,
	-8250,
	-8076,
	-7900,
	-7723,
	-7545,
	-7366,
	-7186,
	-7005,
	-6823,
	-6639,
	-6455,
	-6270,
	-6084,
	-5897,
	-5708,
	-5520,
	-5330,
	-5139,
	-4948,
	-4756,
	-4563,
	-4370,
	-4176,
	-3981,
	-3786,
	-3590,
	-3393,
	-3196,
	-2999,
	-2801,
	-2603,
	-2404,
	-2205,
	-2006,
	-1806,
	-1606,
	-1406,
	-1205,
	-1005,
	-804,
	-603,
	-402,
	-201,
	0,
	201,
	402,
	603,
	804,
	1005,
	1205,
	1406,
	1606,
	1806,
	2006,
	2205,
	2404,
	2603,
	2801,
	2999,
	3196,
	3393,
	3590,
	3786,
	3981,
	4176,
	4370,
	4563,
	4756,
	4948,
	5139,
	5330,
	5520,
	5708,
	5897,
	6084,
	6270,
	6455,
	6639,
	6823,
	7005,
	7186,
	7366,
	7545,
	7723,
	7900,
	8076,
	8250,
	8423,
	8595,
	8765,
	8935,
	9102,
	9269,
	9434,
	9598,
	9760,
	9921,
	10080,
	10238,
	10394,
	10549,
	10702,
	10853,
	11003,
	11151,
	11297,
	11442,
	11585,
	11727,
	11866,
	12004,
	12140,
	12274,
	12406,
	12537,
	12665,
	12792,
	12916,
	13039,
	13160,
	13279,
	13395,
	13510,
	13623,
	13733,
	13842,
	13949,
	14053,
	14155,
	14256,
	14354,
	14449,
	14543,
	14635,
	14724,
	14811,
	14896,
	14978,
	15059,
	15137,
	15213,
	15286,
	15357,
	15426,
	15493,
	15557,
	15619,
	15679,
	15736,
	15791,
	15843,
	15893,
	15941,
	15986,
	16029,
	16069,
	16107,
	16143,
	16176,
	16207,
	16235,
	16261,
	16284,
	16305,
	16324,
	16340,
	16353,
	16364,
	16373,
	16379,
	16383,
};

/*
**  LspDcTable: LSP long term Dc component
**
*/

int16_t LspDcTable[LpcOrder] = {
	0x0c3b,
	0x1271,
	0x1e0a,
	0x2a36,
	0x3630,
	0x406f,
	0x4d28,
	0x56f4,
	0x638c,
	0x6c46,
};

/*
**  BandInfoTable:
**
**  Purpose:
**      Used to index in arrays. Called by LSP sub vector 
**      quantization routines.
**
**  Table Structure:
**      The unquantized LSP vector, quantized LSP vector, and residual
**      LSP error vector are each divided into three subvectors.  
**              The table format is as follows:
**
**      1st pair corresponds to subvector 0
**      2nd pair corresponds to subvector 1
**      3rd pair corresponds to subvector 2
**
**      The 1st slot in each pair is used to index the location of 
**      the vector in a 10-element array.  For example, for subvector
**      1, dimensions [0,..,2] get automatically mapped to array
**      location [3,..,5], and for subvector 3, dimensions
**      [0,..,3] automatically get mapped to array location [6,..,9].
**
**      The 2nd slot in each pair corresponds to the dimension of
**      the subvector
*/

int16_t BandInfoTable[LspQntBands][2] = {
	{0, 3}
	,
	{3, 3}
	,
	{6, 4}
};

/*
**  Band0Tb8:
**
**  Purpose:
**      Vector Quantize the first 3-vector of the 10 LSP parameters.
**
**  Table Structure:
**      8 bit, 256 entry table.
*/

int16_t Band0Tb8[LspCbSize * 3] = {
	0, 0, 0,
	-270, -1372, -1032,
	-541, -1650, -1382,
	-723, -2011, -2213,
	-941, -1122, -1942,
	-780, -1145, -2454,
	-884, -1309, -1373,
	-1051, -1523, -1766,
	-1083, -1622, -2300,
	-777, -1377, -2147,
	-935, -1467, -2763,
	-802, -1327, -3471,
	-935, -1959, -3999,
	-240, -89, 222,
	-661, -257, -160,
	-994, -466, -419,
	-188, -164, -278,
	-342, -512, -415,
	-607, -511, -797,
	16, 19, -716,
	374, 425, -972,
	-346, 245, -282,
	-265, 506, -754,
	-620, -147, 1955,
	-742, -860, 2597,
	-150, -352, 2704,
	305, 880, 1954,
	123, 731, 2766,
	-348, 765, 3327,
	618, 221, 3258,
	-178, -47, 4219,
	393, 1304, 3842,
	698, 1702, 4801,
	63, -584, 1229,
	-215, -732, 1704,
	172, -335, 1909,
	-2, 216, 1797,
	353, 127, 2205,
	-1208, 188, 11,
	-513, -75, -683,
	-973, 222, -646,
	-616, -843, -388,
	-950, -1113, -359,
	-1431, -623, -705,
	-1398, -1063, -178,
	-45, -461, 35,
	-9, -657, -216,
	127, -1078, 95,
	-950, -1156, 584,
	-1480, -1494, 449,
	-120, -705, 516,
	-368, -961, 727,
	-378, -526, 973,
	-793, -614, 676,
	-801, -755, 1287,
	-1476, -340, 1636,
	-505, -1254, 1543,
	-1243, -1622, 1532,
	-776, -1477, -655,
	-1151, -1296, -823,
	-1153, -1672, -1124,
	-1291, -2003, -1702,
	-622, -1283, 57,
	-471, -1611, 509,
	-1060, -1570, -139,
	-873, -2156, -536,
	-1716, -2021, -364,
	-2150, -3218, -1291,
	-1248, -1945, -2904,
	-1215, -2633, -2855,
	167, -244, 84,
	349, -412, -217,
	-40, -352, 632,
	227, -529, 405,
	68, -383, -443,
	167, -558, -706,
	-275, -854, -14,
	-351, -1089, -449,
	341, -72, -289,
	603, -106, -474,
	322, -219, -649,
	179, -317, -998,
	450, -291, -996,
	555, 195, -525,
	784, 272, -831,
	-148, -384, -849,
	82, -536, -1357,
	238, -172, -1354,
	422, -268, -1841,
	297, -737, -2079,
	-111, -801, -598,
	1, -668, -984,
	-131, -818, -1299,
	-329, -521, -1310,
	-151, -778, -1834,
	-93, -352, -1746,
	-568, -640, -1821,
	-509, -941, -2183,
	464, -815, -1250,
	79, -1133, -1597,
	-184, -1353, -2123,
	-196, -410, -2427,
	-192, -833, -2810,
	-259, -1382, -3045,
	-217, 4, -1166,
	-800, -325, -1219,
	-363, -830, -898,
	-661, -1134, -960,
	-386, -980, -1501,
	-627, -1159, -1722,
	-903, -829, -855,
	-685, -829, -1313,
	-1065, -959, -1405,
	441, 25, -847,
	655, -27, -1181,
	1159, -110, -705,
	856, 253, -1671,
	415, 404, -1,
	322, 903, -398,
	670, 499, -292,
	803, 591, -610,
	1144, 591, -814,
	717, 183, 393,
	857, 381, 106,
	609, 62, -27,
	792, 198, -325,
	735, 805, 88,
	1142, 812, 78,
	1028, 366, -292,
	1309, 743, -237,
	1615, 589, -79,
	1010, 639, -243,
	999, 964, -311,
	1500, 1137, -615,
	988, 357, 646,
	1227, 667, 683,
	1164, 1565, 894,
	1392, 2015, 477,
	1138, 533, 250,
	1437, 896, 391,
	1765, 1118, 99,
	1112, 1090, 802,
	1596, 846, 1134,
	937, 1161, 279,
	1719, 1254, 683,
	1338, 1086, 35,
	1419, 1324, 428,
	1428, 1524, 40,
	2108, 1594, 89,
	1015, 544, 1222,
	1121, 925, 1263,
	1030, 1318, 1485,
	1295, 789, 1817,
	1323, 1272, 1909,
	1724, 1237, 1803,
	1797, 1689, 858,
	2149, 1367, 1301,
	2302, 1867, 761,
	2863, 2351, 1053,
	52, 163, -76,
	230, 309, -492,
	-71, 619, 39,
	-218, 856, 499,
	-654, 736, -207,
	-535, 1259, 155,
	-480, 1476, 643,
	262, 1081, 102,
	309, 1592, -182,
	627, 1629, 534,
	337, 643, 456,
	758, 670, 713,
	202, 1126, 658,
	612, 1131, 666,
	686, 1223, 1136,
	-131, 377, 525,
	42, 708, 907,
	87, 1488, 1035,
	432, 2117, 904,
	137, 981, 1332,
	-447, 1014, 1136,
	-839, 1793, 1246,
	-559, 297, 198,
	-850, 685, 446,
	-1273, 632, 826,
	-401, -544, 173,
	-753, -793, 144,
	-436, -9, 772,
	-115, -243, 1310,
	-670, -269, 374,
	-1027, -13, 639,
	-887, -81, 1137,
	-1277, -455, 158,
	-1411, -720, 736,
	172, 88, 403,
	386, 255, 756,
	-500, 522, 910,
	-958, 659, 1388,
	-395, 301, 1344,
	-356, 768, 1813,
	-613, 841, 2419,
	445, -122, 252,
	629, -87, 723,
	283, -253, 870,
	456, -116, 1381,
	757, 180, 1059,
	532, 408, 1509,
	947, 288, 1806,
	1325, 994, 2524,
	892, 1219, 3023,
	1397, 1596, 3406,
	1143, 1552, 2546,
	1850, 1433, 2710,
	-10, 134, 1002,
	154, 499, 1323,
	508, 792, 1117,
	509, 1340, 1616,
	762, 862, 1608,
	787, 740, 2320,
	794, 1727, 1283,
	465, 2108, 1660,
	-120, 1451, 1613,
	-386, 2016, 2169,
	891, 1225, 2050,
	456, 1480, 2185,
	1493, 1283, 1209,
	1397, 1636, 1518,
	1776, 1738, 1552,
	1572, 1698, 2141,
	1389, 2126, 1271,
	1959, 2413, 1119,
	1365, 2892, 1505,
	2206, 1971, 1623,
	2076, 1950, 2280,
	1717, 2291, 1867,
	2366, 2515, 1953,
	2865, 2838, 2522,
	2535, 3465, 2011,
	3381, 4127, 2638,
	836, 2667, 2289,
	1761, 2773, 2337,
	1415, 3325, 2911,
	2354, 3138, 3126,
	2659, 4192, 4010,
	1048, 1786, 1818,
	1242, 2111, 2240,
	1512, 2079, 2780,
	1573, 2491, 3138,
	2230, 2377, 2782,
	416, 1773, 2704,
	725, 2336, 3297,
	1252, 2373, 3978,
	2094, 2268, 3568,
	2011, 2712, 4528,
	1341, 3507, 3876,
	1216, 3919, 4922,
	1693, 4793, 6012,
};

/*
**  Band1Tb8:
**
**  Purpose:
**      Vector Quantize the second 3-vector of the 10 LSP parameters.
**
**  Table Structure:
**      8 bit, 256 entry table.
*/

int16_t Band1Tb8[LspCbSize * 3] = {
	0, 0, 0,
	-2114, -1302, 76,
	-2652, -1278, -1368,
	-2847, -828, -349,
	-3812, -2190, -349,
	-3946, -364, -449,
	-2725, -4492, -3607,
	-3495, -4764, -1744,
	-51, -756, 84,
	-153, -1191, 504,
	108, -1418, 1167,
	-835, -896, 390,
	-569, -1702, 87,
	-1151, -1818, 933,
	-1826, -2547, 411,
	-1842, -1818, 1451,
	-2438, -1611, 781,
	-2747, -2477, 1311,
	-940, 1252, 477,
	-1629, 1688, 602,
	-1202, 617, 280,
	-1737, 393, 580,
	-1528, 1077, 1199,
	-2165, -161, 1408,
	-2504, -1087, 2371,
	-3458, -175, 1395,
	-1397, -98, -843,
	-2252, -177, -1149,
	-1489, -726, -1283,
	-1558, -265, -1744,
	-1867, -821, -1897,
	-2062, -1516, -2340,
	-2595, -1142, -2861,
	170, 46, -819,
	-193, -204, -1151,
	326, -196, -1532,
	780, 329, -816,
	201, 369, -1243,
	650, -209, -1060,
	1144, -15, -1216,
	1203, -259, -1867,
	-890, -564, -1430,
	-638, -852, -1921,
	177, -739, -1358,
	-261, -526, -1666,
	206, -407, -2255,
	338, -526, -822,
	421, -1095, -1009,
	765, -607, -1408,
	825, -1295, -2004,
	357, -905, -1815,
	-58, -1248, -1588,
	-596, -1436, -2046,
	-73, -1159, -2116,
	-115, -1382, -2581,
	-160, -1723, -1952,
	-6, -2196, -2954,
	-649, -1705, -2603,
	-617, -1453, -3282,
	-949, -2019, -3102,
	-812, 1544, 1937,
	-1854, 574, 2000,
	-1463, 1140, 2649,
	-2683, 1748, 1452,
	-2486, 2241, 2523,
	783, 1910, 1435,
	581, 2682, 1376,
	236, 2197, 1885,
	-453, 2943, 2057,
	-682, 2178, 2565,
	-1342, 3201, 3328,
	-288, -184, 262,
	121, -149, -183,
	758, -412, 206,
	1038, -204, 853,
	1577, -457, 700,
	937, -640, -567,
	1508, -528, -1024,
	-225, -527, -427,
	-564, -1095, -332,
	-742, -353, -186,
	-1288, -459, 84,
	-1853, -484, -274,
	-1554, -731, 825,
	-2425, -234, 382,
	-1722, 293, -271,
	-2515, 425, -564,
	-2599, 818, 464,
	-358, 118, -375,
	-613, 198, -874,
	-690, 683, -324,
	-1352, 1155, -168,
	-1093, 129, -324,
	-1184, 611, -858,
	433, 386, -372,
	-120, 486, -634,
	234, 851, -631,
	602, 128, 46,
	1099, 410, 159,
	715, -145, -424,
	1198, -85, -593,
	1390, 367, -358,
	1683, 362, -964,
	1711, 622, 45,
	2033, 833, -383,
	2890, 549, -506,
	7, 401, 52,
	72, 811, 415,
	566, 668, 41,
	467, 1218, 130,
	68, 957, -187,
	-25, 1649, -103,
	-661, 260, 214,
	-925, -94, 612,
	-321, -422, 965,
	-788, -672, 1783,
	400, -673, 779,
	741, -595, 1635,
	-161, 307, 657,
	-382, 836, 871,
	-814, 400, 1223,
	364, 606, 1247,
	57, 75, 1571,
	151, 471, 2287,
	-81, 1021, 1502,
	227, 1470, 1097,
	658, 1275, 1653,
	664, 1478, 2377,
	263, -127, 444,
	264, 89, 969,
	794, 171, 576,
	821, 186, 1226,
	404, 462, 517,
	339, 918, 794,
	1280, 1423, 196,
	1453, 2019, 365,
	1615, 1481, 672,
	2394, 1708, 508,
	806, 1238, 573,
	713, 1158, 1078,
	1285, 1436, 1232,
	1790, 1188, 1141,
	765, 643, 864,
	1032, 797, 1279,
	900, 563, 1827,
	1514, 673, 2312,
	1544, 1129, 3240,
	1469, 1050, 1594,
	1945, 1318, 1988,
	2397, 2026, 2060,
	3538, 2057, 2620,
	1249, -118, 74,
	1727, 194, 421,
	2078, -50, -463,
	970, 688, -432,
	1149, 952, -110,
	1254, 1275, -651,
	1386, 929, 401,
	1960, 1167, 232,
	407, -752, -243,
	859, -1118, 172,
	-227, -860, -992,
	-796, -1175, -1380,
	8, -1282, -388,
	353, -1781, -1037,
	-732, -397, -807,
	-853, -28, -1342,
	-1229, -1207, -1959,
	-1015, -1125, -2543,
	-1452, -1791, -2725,
	-1891, -2416, -3269,
	-918, -1629, -783,
	-580, -2155, -698,
	-1097, -2364, -96,
	-1387, -1513, 7,
	-1588, -2076, -664,
	-1473, -2740, -784,
	-2378, -3149, -56,
	-2856, -2092, -169,
	-3391, -3708, 316,
	-1176, -890, -614,
	-1944, -1061, -800,
	-299, -1517, -1000,
	-640, -1850, -1526,
	-1454, -1536, -1233,
	-1890, -1955, -1756,
	-1086, -1921, -2122,
	-750, -2325, -2260,
	-1325, -2413, -2673,
	-1114, -2542, -3459,
	-1341, -2901, -3963,
	-1160, -2226, -1393,
	-1001, -2772, -1573,
	-1594, -2641, -1978,
	-1534, -3046, -2624,
	-2224, -2196, -675,
	-2807, -3054, -1102,
	-2008, -2840, -1186,
	-1980, -3332, -1695,
	-1715, -3562, -505,
	-2527, -4000, -1887,
	-2333, -2734, -2296,
	-3440, -2401, -3211,
	-2008, -3528, -3337,
	-2247, -3291, -4510,
	-475, 949, 155,
	-149, 1365, 545,
	-757, 1644, 1083,
	-217, 2053, 1353,
	-1433, 2301, 1462,
	495, 1661, 529,
	10, 2037, 740,
	2082, 1898, 978,
	2831, 2294, 911,
	842, 793, 420,
	1223, 1023, 863,
	1237, 451, 780,
	1744, 708, 822,
	1533, 284, 1384,
	2135, 609, 1538,
	2305, 626, 540,
	2368, 1187, 955,
	2586, 1255, -7,
	3116, 1131, 726,
	3431, 1730, 428,
	2734, 1648, 1307,
	2988, 1231, 2010,
	3523, 2024, 1488,
	1034, 1657, 871,
	1206, 2163, 1036,
	1807, 2372, 1233,
	1808, 1769, 1493,
	1573, 2332, 1779,
	1216, 1609, 1866,
	1480, 1898, 2513,
	465, 2708, 2776,
	771, 3638, 3338,
	1869, 2599, 2623,
	2825, 2745, 2468,
	2638, 2439, 1585,
	2094, 2970, 1308,
	2022, 3057, 1999,
	3428, 2912, 1816,
	4536, 2974, 2129,
	1046, 2563, 2086,
	1363, 3562, 2318,
	2511, 1891, 2984,
	1866, 2306, 3986,
	3272, 2924, 3682,
	3146, 3564, 2272,
	3592, 3968, 2822,
	2431, 3369, 3069,
	1931, 4709, 3090,
	2629, 4220, 3986,
	4639, 4056, 3664,
	4035, 5334, 4912,
};

/*
**  Band2Tb8:
**
**  Purpose:
**      Vector Quantize the last 4-vector of the 10 LSP parameters.
**
**  Table Structure:
**      8 bit, 256 entry table.
*/

int16_t Band2Tb8[LspCbSize * 4] = {
	0, 0, 0, 0,
	601, 512, -542, 334,
	428, 1087, -484, -132,
	652, 622, -391, -572,
	378, 799, 141, -860,
	1040, 409, 112, -554,
	1123, 670, -75, -847,
	1421, 494, -315, -1095,
	787, 1001, 114, -460,
	988, 1672, 216, -681,
	1007, 1241, -132, -1247,
	1073, 399, 186, -5,
	1262, 193, -694, -129,
	325, 196, 51, -641,
	861, -59, 350, -458,
	1261, 567, 586, -346,
	1532, 885, 210, -517,
	2027, 937, 113, -792,
	1383, 1064, 334, 38,
	1964, 1468, 459, 133,
	2062, 1186, -98, -121,
	2577, 1445, 506, -373,
	2310, 1682, -2, -960,
	2876, 1939, 765, 138,
	3581, 2360, 649, -414,
	219, 176, -398, -309,
	434, -78, -435, -880,
	-344, 301, 265, -552,
	-915, 470, 657, -380,
	419, -432, -163, -453,
	351, -953, 8, -562,
	789, -43, 20, -958,
	302, -594, -352, -1159,
	1040, 108, -668, -924,
	1333, 210, -1217, -1663,
	483, 589, -350, -1140,
	1003, 824, -802, -1184,
	745, 58, -589, -1443,
	346, 247, -915, -1683,
	270, 796, -720, -2043,
	1208, 722, -222, -193,
	1486, 1180, -412, -672,
	1722, 179, -69, -521,
	2047, 860, -666, -1410,
	-146, 222, -281, -805,
	-189, 90, -114, -1307,
	-152, 1086, -241, -764,
	-439, 733, -601, -1302,
	-833, -167, -351, -601,
	-856, -422, -411, -1059,
	-747, -355, -582, -1644,
	-837, 210, -916, -1144,
	-1800, 32, -878, -1687,
	-48, -23, -1146, 52,
	-350, -409, -1656, -364,
	265, -728, -858, -577,
	458, -247, -1141, -997,
	691, -407, -1988, -1161,
	-66, -104, -705, -1249,
	-431, -93, -1191, -1844,
	203, -732, -1000, -1693,
	10, -832, -1846, -1819,
	493, -128, -1436, -1768,
	488, -311, -1730, -2540,
	-653, -532, -1150, -1172,
	-1086, -289, -1706, -1533,
	-699, -1205, -1216, -1766,
	-1032, -1481, -2074, -1523,
	-721, -1220, -2277, -2600,
	12, -539, -1484, -1131,
	-40, -911, -2106, -441,
	-471, -484, -2267, -1549,
	-141, -988, -3006, -1721,
	-1545, -2102, -583, 342,
	-1383, -2772, -386, -13,
	-2118, -2589, -1205, 72,
	-2147, -3231, -965, 390,
	-2949, -3300, -621, 637,
	-3907, -4138, -865, 803,
	-1287, -845, -375, -548,
	-1416, -1169, -487, -1277,
	-1400, -1690, -1027, -418,
	-2018, -1909, -1188, -1260,
	-1418, -2222, -2029, -128,
	-2067, -2998, -2693, -310,
	-950, -1028, -1538, 185,
	-1616, -915, -2205, -549,
	19, -821, -1145, 352,
	184, -1175, -1356, -627,
	-547, -1088, -1661, -911,
	-216, -1502, -2197, -948,
	-795, -1306, -2374, -451,
	-924, -1889, -2796, -680,
	-600, -1614, -3609, -885,
	-2392, -2528, 319, 303,
	-2908, -2095, -310, 573,
	-3460, -2141, 49, -113,
	-2231, -448, 675, -146,
	-2805, -532, 1231, 479,
	-2684, -486, -200, 611,
	-3525, -971, -198, 704,
	-3707, 173, 349, 254,
	-4734, -1447, -34, 880,
	777, -512, 114, -10,
	1250, -66, 442, -5,
	604, 613, 452, -352,
	1224, 777, 675, -1014,
	-1372, -79, -1208, -238,
	-2389, -17, -1157, -818,
	-1504, -673, -1133, -1060,
	-1984, -799, -2005, -1973,
	-2037, -798, -1068, -105,
	-3190, -899, -1817, -194,
	-156, -886, 394, -318,
	-258, -1283, 551, 202,
	-536, -1729, 910, 331,
	-847, -1109, 795, -163,
	-1171, -1128, 715, 519,
	-1080, -1319, 1685, 668,
	-1000, -1921, 96, 211,
	-1487, -2148, 831, 174,
	-1139, -374, 414, -4,
	-1517, -1383, 396, -352,
	-1012, 439, -59, -967,
	-1812, 706, -440, -1030,
	-1971, -329, -34, -827,
	-2472, -1588, -151, -606,
	-2161, 374, -281, 76,
	-3012, 231, -15, -690,
	1104, 566, 721, 209,
	1685, 564, 383, 98,
	1898, 750, 792, -97,
	556, -64, 561, -93,
	876, 162, 913, -22,
	961, 675, 1296, 140,
	756, -396, 851, 544,
	360, -303, 1341, 396,
	878, -22, 1464, 863,
	-309, -273, 642, -129,
	-686, -82, 842, 454,
	-5, -47, 1069, 998,
	-94, 967, 1277, 298,
	-489, 385, 1473, 746,
	-369, -717, 1333, 242,
	281, -993, 1726, 924,
	464, 601, 1575, 1376,
	-250, 206, 2339, 1175,
	-438, 377, -597, -285,
	-1020, 787, -790, -287,
	-458, -410, 215, 295,
	-589, -860, -121, 797,
	-1175, 122, -437, 466,
	-1480, -121, 367, 924,
	234, 323, 770, -555,
	145, 30, 996, 26,
	66, 849, 93, -145,
	-117, 1261, 474, -399,
	-1495, 1051, 218, -506,
	-1390, 694, 994, 88,
	616, 7, 78, 304,
	1060, 52, -62, 835,
	833, 454, 649, 1359,
	-770, 464, 47, 93,
	-574, 1199, -39, 379,
	114, -98, 488, 485,
	727, 244, 606, 696,
	-76, 455, 671, 546,
	-565, -13, 145, 819,
	-376, 569, 448, 1128,
	218, 122, 265, 1167,
	230, 738, 932, 1003,
	138, 477, 36, 450,
	404, 787, -73, 1000,
	497, 1259, 387, 1231,
	17, 207, 195, -79,
	562, 358, 53, -158,
	493, 387, 478, 189,
	678, 831, 640, 558,
	-197, 523, 613, 57,
	429, 894, 769, 111,
	67, 1174, 568, 511,
	1242, 824, 251, 840,
	1419, 1074, 864, 481,
	924, 1474, 669, 724,
	1539, 1879, 654, 1590,
	445, 337, 1111, 541,
	472, 1421, 1264, 1094,
	794, 735, 1103, 668,
	1055, 863, 1192, 1020,
	778, 1105, 806, 1798,
	1052, 1527, 1587, 2151,
	881, 1552, 1265, 391,
	726, 872, 1812, 601,
	1469, 280, 1008, 616,
	1403, 577, 1803, 1244,
	1650, 1314, 1148, 1072,
	1297, 1669, 1911, 1026,
	2093, 1044, 2115, 1189,
	1644, 1961, 2587, 1512,
	25, -315, -9, -106,
	290, -339, 428, -444,
	-68, -783, 735, 772,
	245, -555, 468, 47,
	334, -895, 814, 146,
	235, 368, -964, -959,
	-203, 315, -1566, -1217,
	801, 17, -276, -354,
	894, -495, -789, -635,
	716, 291, -1189, -357,
	560, -260, -733, -2,
	679, -508, -1429, 211,
	-51, -62, -428, 557,
	322, -638, -211, 614,
	-878, -1057, -84, -71,
	-388, -1415, -167, -318,
	-754, -1574, 214, -539,
	-1419, -2004, -92, -787,
	-47, -856, -347, -255,
	23, -1211, -173, 320,
	-658, -487, -893, 353,
	-783, -1587, -584, 507,
	-1420, -859, -378, 441,
	-2095, -1491, -137, 439,
	-321, -1450, -1288, -12,
	-359, -2113, -553, -8,
	-831, -1918, -1561, 32,
	-1014, -2487, -1359, -939,
	-475, -311, -169, -236,
	-907, -426, 276, -611,
	-96, -400, 50, -710,
	-426, -1022, -10, -985,
	-197, -258, -744, -575,
	-611, -930, -771, -394,
	-267, -776, -612, -939,
	-256, -1346, -802, -1122,
	-796, -1570, -825, -754,
	712, 876, 141, 227,
	981, 1509, 85, 124,
	1462, 1228, 979, -39,
	1734, 999, 1481, 440,
	2293, 1116, 769, 440,
	2504, 1480, 1241, 356,
	2474, 1909, 1558, 810,
	917, 1134, 607, -134,
	509, 1809, 781, -123,
	1712, 1506, 559, -423,
	2037, 2317, 726, -155,
	3031, 2676, 1203, 331,
	3664, 3274, 1768, 531,
	1610, 1839, 867, 183,
	1774, 1972, 1538, 97,
	1822, 2158, 1282, 659,
	2222, 2758, 1818, 900,
	3251, 2124, 1723, 996,
	3633, 2336, 2408, 1453,
	2923, 3517, 2567, 1318,
};

/*
**  BandQntTable:
**
**  Purpose:
**      collects the three subvector tables.
*/

int16_t *BandQntTable[LspQntBands] = {
	Band0Tb8,
	Band1Tb8,
	Band2Tb8,
};

/*
**  PerFiltZeroTable:
**
**  Purpose:
**     Creates the FIR part of the formant perceptual weighting filter. 
**     Corresponds to gamma1 in section 2.8.
**
**  Table Structure:
**     (0.9) to the x power, where x = [1,..,10]
**     These values are scaled by 32768.
*/

int16_t PerFiltZeroTable[LpcOrder] = {
	29491,
	26542,
	23888,
	21499,
	19349,
	17414,
	15673,
	14106,
	12695,
	11425,
};

/*
**  PerFiltPoleTable:
**
**  Purpose:
**     Creates the IIR part of the formant perceptual weighting filter. 
**     Corresponds to gamma2 in section 2.8.
**
**  Table Structure:
**     (0.5) to the x power, where x = [1,..,10]
**     These values are scaled by 32768
*/

int16_t PerFiltPoleTable[LpcOrder] = {
	16384,
	8192,
	4096,
	2048,
	1024,
	512,
	256,
	128,
	64,
	32,
};

/*
**  PostFiltZeroTable:
**
**  Purpose:
**     Creates the FIR part of the formant postfilter.  Corresponds to
**     lambda1 in section 3.8.
**
**  Table Structure:
**     (0.65) to the x power, where x = [1,..,10]
**     These values are scaled by 32768
*/

int16_t PostFiltZeroTable[LpcOrder] = {
	21299,
	13844,
	8999,
	5849,
	3802,
	2471,
	1606,
	1044,
	679,
	441,
};

/*
**  PostFiltPoleTable:
**
**  Purpose:
**     Creates the IIR part of the formant postfilter.  Corresponds to
**     lambda2 in section 3.8.
**
**  Table Structure:
**     (0.75) to the x power, where x = [1,..,10]
**     These values are scaled by 32768
*/

int16_t PostFiltPoleTable[LpcOrder] = {
	24576,
	18432,
	13824,
	10368,
	7776,
	5832,
	4374,
	3281,
	2460,
	1845,
};

/*
**  Nb_puls:
**
**  Purpose:
**      Indexing
**
**  Table Structure:
**      Table values are the number of non-zero pulses in the high-rate
**      excitation (MP-MLQ), indexed by subframe number (0,..,3).
*/

int16_t Nb_puls[4] = { 6, 5, 6, 5 };

/*
**  FcbkGainTable:
**
**  Purpose:
**      Logarithmic scalar quantizer in 24 steps of 3.2 dB each
**
**  Table Structure:
**      Contains x where 20*log10(x) = 3.2*i,  i = 1,..,24
*/

int16_t FcbkGainTable[NumOfGainLev] = {
	1,
	2,
	3,
	4,
	6,
	9,
	13,
	18,
	26,
	38,
	55,
	80,
	115,
	166,
	240,
	348,
	502,
	726,
	1050,
	1517,
	2193,
	3170,
	4582,
	6623,
};

/*
**  MaxPosTable:
**
**  Purpose:
**      size of the high rate fixed excitation codebooks (MP-MLQ)
**
**  Table Structure:
**      Table values are the number of codewords in the high rate fixed
**      excitation codebook (MP-MLQ), indexed by subframe number (0,..,3).
**      MaxPosTable[i] is the number of combinations of i elements among 30
**      non-zero pulses in the high-rate
*/

int32_t MaxPosTable[4] = {
	0x00090f6fL,
	0x00022caaL,
	0x00090f6fL,
	0x00022caaL,
};

/*
**  CombinatorialTable:
**
**  Purpose:
**      used for the coding and the decoding of the pulses positions
**      for the high-rate fixed excitation codebook
**
**  Table Structure:
**      CombinatorialTable[i][j] is the number of combinations of
**      (MaxPulsNum-1-i) elements among (SubFrLen-2-j)
*/

int32_t CombinatorialTable[MaxPulseNum][SubFrLen / Sgrid] = {
	{118755L,
	 98280L,
	 80730L,
	 65780L,
	 53130L,
	 42504L,
	 33649L,
	 26334,
	 20349,
	 15504,
	 11628,
	 8568,
	 6188,
	 4368,
	 3003,
	 2002,
	 1287,
	 792,
	 462,
	 252,
	 126,
	 56,
	 21,
	 6,
	 1,
	 0,
	 0,
	 0,
	 0,
	 0}
	,

	{23751,
	 20475,
	 17550,
	 14950,
	 12650,
	 10626,
	 8855,
	 7315,
	 5985,
	 4845,
	 3876,
	 3060,
	 2380,
	 1820,
	 1365,
	 1001,
	 715,
	 495,
	 330,
	 210,
	 126,
	 70,
	 35,
	 15,
	 5,
	 1,
	 0,
	 0,
	 0,
	 0}
	,

	{3654,
	 3276,
	 2925,
	 2600,
	 2300,
	 2024,
	 1771,
	 1540,
	 1330,
	 1140,
	 969,
	 816,
	 680,
	 560,
	 455,
	 364,
	 286,
	 220,
	 165,
	 120,
	 84,
	 56,
	 35,
	 20,
	 10,
	 4,
	 1,
	 0,
	 0,
	 0}
	,

	{406,
	 378,
	 351,
	 325,
	 300,
	 276,
	 253,
	 231,
	 210,
	 190,
	 171,
	 153,
	 136,
	 120,
	 105,
	 91,
	 78,
	 66,
	 55,
	 45,
	 36,
	 28,
	 21,
	 15,
	 10,
	 6,
	 3,
	 1,
	 0,
	 0}
	,

	{29,
	 28,
	 27,
	 26,
	 25,
	 24,
	 23,
	 22,
	 21,
	 20,
	 19,
	 18,
	 17,
	 16,
	 15,
	 14,
	 13,
	 12,
	 11,
	 10,
	 9,
	 8,
	 7,
	 6,
	 5,
	 4,
	 3,
	 2,
	 1,
	 0}
	,

	{1,
	 1,
	 1,
	 1,
	 1,
	 1,
	 1,
	 1,
	 1,
	 1,
	 1,
	 1,
	 1,
	 1,
	 1,
	 1,
	 1,
	 1,
	 1,
	 1,
	 1,
	 1,
	 1,
	 1,
	 1,
	 1,
	 1,
	 1,
	 1,
	 1}
	,
};

/*
**  AcbkGainTable085:
**
**  Purpose:
**      Used to calculate the error expression in pitch prediction
**      optimization (also described as an adaptive codebook approach)
**
**      Table Structure:
**      The table is structured as 85 20-element vectors.  These
**      vectors are structured as precalculated values in the error
**      expression for the pitch predictor.  Gi is the gain value
**      multiplying the signal delayed by a pitch period (+/- offset).
**      In equation 41.2, Gi would be equivalent to bij.
**      
**      1st 5 elements:   G1  G2  G3  G4  G5 in Q14 (i.e. scaled by 16384)
**      2nd 5 elements:  -G1^2  -G2^2  -G3^2  -G4^2  -G5^2
**           These are scaled down by 14 bits (factor of 16384) after
**           being squared.
**      Next 10 elements: These are the off-diagonal elements
**           -G1*G2  -G1*G3  -G2*G3  -G1*G4  -G2*G4
**           -G3*G4  -G1*G5  -G2*G5  -G3*G5  -G4*G5
**           These are scaled down by 14 bits (factor of 16384)
*/

int16_t AcbkGainTable085[85 * 20] = {
	0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 800, 1496, 167, -256,
	-338, -39, -136, -1, -4, -6, -73, -8,
	-15, 12, 23, 2, 16, 30, 3, -5,
	-462, -686, 493, 2575, 311, -13, -28, -14,
	-404, -5, -19, 13, 20, 72, 107, -77,
	8, 13, -9, -48, 1483, 144, 784, 928,
	1243, -134, -1, -37, -52, -94, -13, -71,
	-6, -84, -8, -44, -112, -10, -59, -70,
	-77, 275, 3522, 1056, -1254, 0, -4, -757,
	-68, -95, 1, 16, -59, 4, -17, -227,
	-5, 21, 269, 80, -125, -40, -264, 381,
	5027, 0, 0, -4, -8, -1542, 0, -2,
	0, 2, 0, 6, 38, 12, 81, -117,
	138, 332, 2215, 2574, 1339, -1, -6, -299,
	-404, -109, -2, -18, -44, -21, -52, -348,
	-11, -27, -181, -210, 3685, 2883, -887, 866,
	-1639, -828, -507, -48, -45, -164, -648, 199,
	156, -194, -152, 46, 368, 288, -88, 86,
	1396, 2146, 2235, 345, 942, -118, -281, -305,
	-7, -54, -182, -190, -292, -29, -45, -47,
	-80, -123, -128, -19, 13, 4475, 3549, -804,
	-655, 0, -1222, -768, -39, -26, -3, -2,
	-969, 0, 219, 174, 0, 179, 141, -32,
	-724, 254, 242, 6049, 2462, -32, -3, -3,
	-2233, -370, 11, 10, -3, 267, -94, -89,
	108, -38, -36, -909, 626, -1713, 6121, 4561,
	-1061, -23, -179, -2287, -1270, -68, 65, -233,
	640, -174, 477, -1704, 40, -111, 396, 295,
	-350, 1391, 7985, 511, -405, -7, -118, -3892,
	-15, -10, 29, 170, -678, 10, -43, -249,
	-8, 34, 197, 12, 3144, -529, 608, 2530,
	3878, -603, -17, -22, -390, -918, 101, -116,
	19, -485, 81, -93, -744, 125, -144, -599,
	2589, -689, 3045, 5603, -404, -409, -29, -566,
	-1916, -10, 108, -481, 128, -885, 235, -1041,
	63, -17, 75, 138, 3107, 513, 1374, -3594,
	-4922, -589, -16, -115, -788, -1478, -97, -260,
	-43, 681, 112, 301, 933, 154, 413, -1079,
	2468, 6010, 1107, -390, 1961, -372, -2204, -74,
	-9, -234, -905, -166, -406, 58, 143, 26,
	-295, -719, -132, 46, 4773, 2766, 2368, 4862,
	-4044, -1390, -467, -342, -1443, -998, -806, -690,
	-399, -1416, -821, -702, 1178, 682, 584, 1200,
	1665, -1879, 1443, 1701, 8562, -169, -215, -127,
	-176, -4475, 190, -146, 165, -172, 195, -149,
	-870, 982, -754, -889, 2716, 9011, -1007, 755,
	-1785, -450, -4956, -61, -34, -194, -1493, 167,
	554, -125, -415, 46, 296, 982, -109, 82,
	-2727, 7548, 1285, 938, 3420, -453, -3478, -100,
	-53, -714, 1256, 213, -592, 156, -432, -73,
	569, -1576, -268, -196, 3677, 882, 4050, 1202,
	2323, -825, -47, -1001, -88, -329, -198, -909,
	-218, -269, -64, -297, -521, -125, -574, -170,
	2046, -753, 122, 10102, 603, -255, -34, 0,
	-6229, -22, 94, -15, 5, -1261, 464, -75,
	-75, 27, -4, -372, 449, -1815, 10690, 3870,
	-527, -12, -201, -6976, -914, -16, 49, -293,
	1184, -106, 428, -2525, 14, -58, 344, 124,
	-941, 2352, 5049, 3650, 2637, -54, -337, -1556,
	-813, -424, 135, 290, -725, 209, -524, -1125,
	151, -378, -812, -587, -1879, 796, 3117, 9569,
	-404, -215, -38, -593, -5589, -9, 91, 357,
	-151, 1097, -464, -1821, -46, 19, 76, 236,
	-1715, 2043, -2096, 9946, 4001, -179, -254, -268,
	-6038, -977, 213, -219, 261, 1041, -1240, 1272,
	418, -498, 511, -2429, -5772, -618, -3921, 284,
	-3155, -2033, -23, -938, -4, -607, -218, -1381,
	-148, 100, 10, 68, -1111, -119, -755, 54,
	382, 4748, 8003, -2064, 2198, -8, -1376, -3909,
	-260, -294, -110, -186, -2319, 48, 598, 1008,
	-51, -637, -1073, 277, -867, 3015, 11926, -1675,
	947, -45, -555, -8681, -171, -54, 159, 631,
	-2195, -88, 308, 1219, 50, -174, -690, 96,
	-4933, -432, 6757, 3771, 1352, -1485, -11, -2786,
	-867, -111, -130, 2034, 178, 1135, 99, -1555,
	407, 35, -557, -311, 152, 9726, 4231, -1928,
	1490, -1, -5774, -1092, -226, -135, -90, -39,
	-2511, 17, 1144, 498, -13, -884, -384, 175,
	2512, 193, 9033, 5361, -3148, -385, -2, -4980,
	-1754, -605, -29, -1385, -106, -822, -63, -2956,
	482, 37, 1735, 1030, 8464, 2844, 12, 549,
	2132, -4373, -493, 0, -18, -277, -1469, -6,
	-2, -284, -95, 0, -1101, -370, -1, -71,
	2141, -2602, 7166, 9046, -1350, -279, -413, -3134,
	-4994, -111, 340, -936, 1138, -1182, 1436, -3957,
	176, -214, 590, 745, -244, 278, 13307, 1227,
	-161, -3, -4, -10808, -91, -1, 4, 198,
	-226, 18, -20, -997, -2, 2, 131, 12,
	-1947, 8217, 6269, 917, -2559, -231, -4121, -2399,
	-51, -399, 976, 745, -3144, 108, -460, -350,
	-304, 1283, 979, 143, -1810, 2061, -2781, 6056,
	10058, -200, -259, -472, -2238, -6174, 227, -307,
	349, 669, -761, 1028, 1111, -1265, 1707, -3717,
	7827, 9161, -3409, 2473, -1510, -3739, -5122, -709,
	-373, -139, -4376, 1628, 1906, -1181, -1382, 514,
	721, 844, -314, 228, -1430, 8313, 9541, -2955,
	1626, -124, -4218, -5556, -533, -161, 725, 832,
	-4841, -257, 1499, 1721, 142, -825, -947, 293,
	2819, -4247, 5391, 8673, 2756, -485, -1101, -1774,
	-4591, -463, 730, -927, 1397, -1492, 2248, -2854,
	-474, 714, -907, -1459, 141, 14552, 690, 257,
	-112, -1, -12926, -29, -4, 0, -125, -5,
	-613, -2, -228, -10, 0, 99, 4, 1,
	11938, -1859, 1806, -962, -884, -8699, -211, -199,
	-56, -47, 1355, -1316, 205, 701, -109, 106,
	644, -100, 97, -51, 3728, 1982, 2264, 4584,
	3131, -848, -239, -312, -1282, -598, -451, -515,
	-273, -1043, -554, -633, -712, -378, -432, -876,
	-1181, 766, 720, 14303, -216, -85, -35, -31,
	-12486, -2, 55, 51, -33, 1031, -668, -628,
	-15, 10, 9, 189, -4385, 4826, 10112, 1569,
	3388, -1173, -1421, -6242, -150, -700, 1291, 2706,
	-2979, 420, -462, -969, 906, -998, -2091, -324,
	-448, 1932, 15591, -1842, 657, -12, -227, -14837,
	-207, -26, 52, 427, -1838, -50, 217, 1753,
	18, -77, -626, 74, -4141, 1844, 3962, 5517,
	6220, -1046, -207, -958, -1858, -2361, 466, 1001,
	-446, 1394, -621, -1334, 1572, -700, -1504, -2094,
	729, -2299, 14755, 3657, -952, -32, -322, -13288,
	-816, -55, 102, -656, 2071, -162, 513, -3294,
	42, -133, 857, 212, -1385, 5801, 13339, -3137,
	1344, -117, -2054, -10861, -600, -110, 490, 1127,
	-4723, -265, 1111, 2554, 113, -476, -1094, 257,
	4710, 9661, 1073, -2467, 3274, -1354, -5697, -70,
	-371, -654, -2777, -308, -633, 709, 1455, 161,
	-941, -1930, -214, 493, 1843, -3624, 12422, 6898,
	-1559, -207, -802, -9419, -2904, -148, 407, -1397,
	2748, -775, 1526, -5230, 175, -344, 1182, 656,
	1433, 2394, 2507, 1380, 8780, -125, -349, -383,
	-116, -4705, -209, -219, -366, -120, -201, -211,
	-768, -1283, -1343, -740, -1712, 12915, 5883, -2197,
	991, -179, -10181, -2112, -294, -60, 1350, 615,
	-4638, -229, 1732, 789, 103, -781, -356, 133,
	15072, 2158, -1245, 910, -496, -13865, -284, -94,
	-50, -15, -1986, 1145, 164, -837, -119, 69,
	456, 65, -37, 27, 4655, 7319, 4916, 586,
	-3381, -1322, -3270, -1475, -20, -697, -2079, -1396,
	-2196, -166, -261, -175, 960, 1510, 1014, 120,
	1191, -2140, 5120, 13498, -1418, -86, -279, -1600,
	-11121, -122, 155, -372, 669, -981, 1763, -4218,
	103, -185, 443, 1168, -1530, -817, 8191, 9632,
	-1452, -143, -40, -4095, -5663, -128, -76, 765,
	408, 900, 480, -4815, -135, -72, 726, 854,
	-3236, 607, 1696, -2106, 11485, -639, -22, -175,
	-270, -8051, 119, 335, -62, -416, 78, 218,
	2268, -425, -1189, 1476, 3203, -1903, -837, 9679,
	7057, -626, -221, -42, -5718, -3039, 372, 163,
	-97, -1892, 1124, 494, -1380, 819, 360, -4169,
	213, -655, 17015, 620, -384, -2, -26, -17671,
	-23, -9, 8, -221, 681, -8, 24, -644,
	5, -15, 399, 14, 5088, 35, -3339, 3726,
	8488, -1580, 0, -680, -847, -4397, -10, 1037,
	7, -1157, -8, 759, -2636, -18, 1730, -1930,
	-988, 1454, -2688, 15039, 2682, -59, -129, -441,
	-13805, -439, 87, -162, 238, 907, -1335, 2467,
	161, -238, 440, -2462, -4865, -2842, -53, 5495,
	6523, -1445, -493, 0, -1843, -2597, -844, -16,
	-9, 1632, 953, 18, 1937, 1131, 21, -2188,
	3076, 15069, -2914, 1810, -971, -577, -13860, -518,
	-200, -57, -2829, 547, 2680, -339, -1665, 322,
	182, 893, -172, 107, 1311, 5355, 11054, 2299,
	-3654, -105, -1750, -7458, -322, -814, -428, -885,
	-3613, -184, -751, -1551, 292, 1194, 2465, 512,
	4035, 5619, 4618, 1815, 1912, -994, -1927, -1301,
	-201, -223, -1384, -1137, -1583, -447, -622, -511,
	-471, -656, -539, -211, -2131, 2754, -4501, 12879,
	7432, -277, -463, -1236, -10124, -3371, 358, -585,
	756, 1675, -2165, 3538, 967, -1249, 2042, -5842,
	5618, -515, 3219, -4149, 4857, -1926, -16, -632,
	-1050, -1440, 176, -1104, 101, 1422, -130, 815,
	-1666, 152, -954, 1230, 1838, -1709, 1139, 16867,
	716, -206, -178, -79, -17366, -31, 191, -127,
	118, -1892, 1759, -1173, -80, 74, -49, -737,
	1978, -3845, 10050, 11854, -2492, -238, -902, -6164,
	-8576, -379, 464, -1213, 2358, -1431, 2782, -7271,
	301, -585, 1529, 1803, -2600, 11246, 11289, -3647,
	1463, -412, -7720, -7778, -812, -130, 1784, 1791,
	-7749, -578, 2504, 2513, 232, -1004, -1008, 325,
	3442, 907, 2725, 8970, 3638, -723, -50, -453,
	-4911, -808, -190, -572, -150, -1884, -496, -1492,
	-764, -201, -605, -1992, -126, 17498, 3481, -2003,
	1090, 0, -18689, -739, -244, -72, 135, 26,
	-3717, -15, 2139, 425, 8, -1165, -231, 133,
	-1814, 1048, -2164, 4070, 16272, -200, -67, -285,
	-1011, -16160, 116, -239, 138, 450, -260, 537,
	1801, -1041, 2149, -4042, 9354, 12580, -1883, 962,
	-617, -5341, -9660, -216, -56, -23, -7183, 1075,
	1446, -549, -738, 110, 352, 474, -71, 36,
	1708, 4199, 7387, 6335, 1003, -178, -1076, -3330,
	-2449, -61, -437, -770, -1893, -660, -1623, -2856,
	-104, -257, -452, -388, -2624, 5623, 17310, -2353,
	592, -420, -1930, -18288, -338, -21, 900, 2772,
	-5941, -376, 807, 2486, 94, -203, -625, 85,
	1211, -850, 1193, -1926, 15992, -89, -44, -86,
	-226, -15609, 62, -88, 61, 142, -100, 140,
	-1182, 830, -1165, 1880, 3983, -2054, 11506, -19,
	3622, -968, -257, -8080, 0, -801, 499, -2797,
	1442, 4, -2, 13, -880, 454, -2544, 4,
	-786, -1354, 16092, 7246, -1665, -37, -111, -15805,
	-3205, -169, -65, 772, 1330, 348, 599, -7117,
	-80, -137, 1636, 736, -4316, -511, 6674, 11665,
	4633, -1137, -15, -2719, -8305, -1310, -134, 1758,
	208, 3073, 364, -4752, 1220, 144, -1887, -3299,
	7912, 4557, 1937, 1885, 7037, -3821, -1267, -229,
	-216, -3022, -2200, -935, -538, -910, -524, -222,
	-3398, -1957, -832, -809, 3434, 2967, 5867, 8196,
	8766, -720, -537, -2101, -4100, -4690, -622, -1230,
	-1062, -1718, -1484, -2935, -1837, -1588, -3139, -4385,
	5881, 9176, 8119, 3934, 3355, -2111, -5139, -4023,
	-944, -687, -3294, -2914, -4547, -1412, -2203, -1949,
	-1204, -1879, -1662, -805
};

/*
**  AcbkGainTable170:
**
**  Purpose:
**      Used to calculate the error expression in pitch prediction
**      optimization (also expressed as an adaptive codebook approach)
**
**  Table Structure:
**      The table is structured as 170 20-element vectors.  These
**      vectors are structured as precalculated values in the error
**      expression for the pitch
**      predictor.  Gi is the gain value multiplying the signal
**      delayed by a pitch period (+/- offset).  In equation 41.2,
**      Gi would be equivalent to bij.
**
**      1st 5 elements:   G1  G2  G3  G4  G5 in Q14 (i.e. scaled by 16384)
**      2nd 5 elements:  -G1^2  -G2^2  -G3^2  -G4^2  -G5^2
**           These are scaled down by 14 bits (factor of 16384) after
**           being squared.
**      Next 10 elements: These are the off-diagonal elements
**           -G1*G2  -G1*G3  -G2*G3  -G1*G4  -G2*G4
**           -G3*G4  -G1*G5  -G2*G5  -G3*G5  -G4*G5
**           These are scaled down by 14 bits (factor of 16384)
*/

int16_t AcbkGainTable170[170 * 20] = {
	0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 776, 212, 715, 670,
	809, -36, -2, -31, -27, -39, -10, -33,
	-9, -31, -8, -29, -38, -10, -35, -33,
	1296, 1316, -168, -320, -815, -102, -105, -1,
	-6, -40, -104, 13, 13, 25, 25, -3,
	64, 65, -8, -15, -589, 680, 2478, 308,
	-596, -21, -28, -375, -5, -21, 24, 89,
	-102, 11, -12, -46, -21, 24, 90, 11,
	-735, -487, -5, 2948, 468, -33, -14, 0,
	-530, -13, -21, 0, 0, 132, 87, 0,
	21, 13, 0, -84, 1042, 1730, 1068, 333,
	626, -66, -182, -69, -6, -23, -110, -67,
	-112, -21, -35, -21, -39, -66, -40, -12,
	486, -769, 4074, 2825, -1107, -14, -36, -1013,
	-487, -74, 22, -120, 191, -83, 132, -702,
	32, -52, 275, 191, 1521, -767, -124, 4320,
	1026, -141, -35, 0, -1139, -64, 71, 11,
	-5, -401, 202, 32, -95, 48, 7, -270,
	2425, 1267, 3439, -91, -1166, -359, -98, -722,
	0, -83, -187, -509, -266, 13, 7, 19,
	172, 90, 244, -6, -1251, 975, 173, 4039,
	2005, -95, -58, -1, -996, -245, 74, 13,
	-10, 308, -240, -42, 153, -119, -21, -494,
	1820, 632, 1322, 2062, 1031, -202, -24, -106,
	-259, -64, -70, -146, -51, -229, -79, -166,
	-114, -39, -83, -129, -447, 4904, 244, -315,
	-2038, -12, -1467, -3, -6, -253, 134, 6,
	-73, -8, 94, 4, -55, 610, 30, -39,
	-208, -1102, 463, -448, 5653, -2, -74, -13,
	-12, -1950, -14, 5, 31, -5, -30, 12,
	71, 380, -159, 154, 4739, 2600, -1864, 856,
	-1554, -1371, -412, -212, -44, -147, -752, 539,
	295, -247, -135, 97, 449, 246, -176, 81,
	1894, 3533, 35, -26, 2145, -219, -762, 0,
	0, -280, -408, -4, -7, 3, 5, 0,
	-248, -462, -4, 3, -2699, 1841, 4072, 2443,
	1582, -444, -207, -1012, -364, -152, 303, 670,
	-457, 402, -274, -607, 260, -177, -393, -236,
	-844, 3358, 6106, -1059, -537, -43, -688, -2275,
	-68, -17, 173, 314, -1251, -54, 217, 395,
	-27, 110, 200, -34, 1251, 1016, 3020, 2210,
	1445, -95, -63, -556, -298, -127, -77, -230,
	-187, -168, -137, -407, -110, -89, -266, -194,
	2099, 2277, 4038, 3533, -2870, -269, -316, -995,
	-762, -503, -291, -517, -561, -452, -491, -871,
	367, 399, 707, 619, 400, -1114, 8516, 2422,
	-1117, -9, -75, -4426, -358, -76, 27, -208,
	579, -59, 164, -1259, 27, -75, 580, 165,
	-4398, -2011, 3912, -2407, 2258, -1180, -247, -934,
	-353, -311, -540, 1050, 480, -646, -295, 575,
	606, 277, -539, 331, 1767, -1447, 4240, 6160,
	-757, -190, -127, -1097, -2316, -35, 156, -457,
	374, -664, 544, -1594, 81, -66, 195, 284,
	1594, -1463, 1035, 6938, 1920, -155, -130, -65,
	-2938, -225, 142, -100, 92, -675, 619, -438,
	-186, 171, -121, -813, -562, 4716, 4085, -591,
	2421, -19, -1357, -1018, -21, -357, 162, 140,
	-1175, -20, 170, 147, 83, -696, -603, 87,
	1552, 8778, -935, 354, -1424, -147, -4703, -53,
	-7, -123, -831, 88, 501, -33, -189, 20,
	134, 763, -81, 30, 4831, -4431, 41, -1479,
	-2976, -1424, -1198, 0, -133, -540, 1306, -12,
	11, 436, -400, 3, 877, -804, 7, -268,
	2090, 1192, 1006, 1645, 4853, -266, -86, -61,
	-165, -1437, -152, -128, -73, -210, -119, -101,
	-619, -353, -298, -487, 2386, 5712, 1426, -94,
	1350, -347, -1991, -124, 0, -111, -832, -207,
	-497, 13, 32, 8, -196, -470, -117, 7,
	-1349, 1091, 1659, 8891, 313, -111, -72, -168,
	-4825, -5, 89, 136, -110, 732, -592, -900,
	25, -20, -31, -170, 9980, 916, -381, -808,
	88, -6080, -51, -8, -39, 0, -558, 232,
	21, 492, 45, -18, -53, -4, 2, 4,
	2338, -1031, -248, 3928, 6484, -333, -64, -3,
	-942, -2566, 147, 35, -15, -560, 247, 59,
	-925, 408, 98, -1555, 6166, -1240, -337, 3672,
	-1277, -2320, -93, -6, -823, -99, 466, 126,
	-25, -1382, 278, 75, 480, -96, -26, 286,
	4377, -132, -2588, 1701, 4865, -1169, -1, -409,
	-176, -1444, 35, 691, -20, -454, 13, 268,
	-1299, 39, 768, -505, 2594, 3295, 3944, 1481,
	682, -410, -662, -949, -133, -28, -521, -624,
	-793, -234, -297, -356, -108, -137, -164, -61,
	4151, 624, 815, 4485, 2229, -1052, -23, -40,
	-1228, -303, -158, -206, -31, -1136, -170, -223,
	-565, -84, -111, -610, -3575, -361, 4924, 2791,
	4698, -780, -7, -1480, -475, -1347, -78, 1074,
	108, 609, 61, -839, 1025, 103, -1412, -800,
	-2518, 3791, 8623, 315, 2465, -387, -877, -4538,
	-6, -370, 582, 1325, -1995, 48, -73, -166,
	378, -570, -1297, -47, -691, 2989, 9957, -421,
	-1142, -29, -545, -6051, -10, -79, 126, 420,
	-1817, -17, 76, 256, -48, 208, 694, -29,
	-1918, 104, -3190, -3410, -4440, -224, 0, -621,
	-709, -1203, 12, -373, 20, -399, 21, -664,
	-519, 28, -864, -924, -3359, -1668, 1854, 6939,
	1430, -688, -169, -209, -2939, -124, -341, 380,
	188, 1422, 706, -785, 293, 145, -161, -606,
	42, 9706, 3164, -952, 907, 0, -5750, -611,
	-55, -50, -25, -8, -1874, 2, 564, 183,
	-2, -537, -175, 52, 1607, 785, 2862, 4327,
	3307, -157, -37, -500, -1143, -667, -77, -280,
	-137, -424, -207, -756, -324, -158, -577, -873,
	6801, 3416, 2227, 1682, -3217, -2823, -712, -302,
	-172, -631, -1418, -924, -464, -698, -350, -228,
	1335, 670, 437, 330, 3459, 3898, 364, 7841,
	-2640, -730, -927, -8, -3753, -425, -823, -76,
	-86, -1655, -1865, -174, 557, 628, 58, 1263,
	-5902, -3458, -2465, -1886, 4334, -2126, -730, -371,
	-217, -1146, -1245, -888, -520, -679, -398, -283,
	1561, 915, 652, 499, -3710, 1133, 7849, 3443,
	-215, -840, -78, -3760, -723, -2, 256, 1777,
	-543, 779, -238, -1649, -48, 14, 103, 45,
	4132, 2828, 2, -4212, -4116, -1042, -488, 0,
	-1083, -1034, -713, 0, 0, 1062, 727, 0,
	1038, 710, 0, -1058, 5875, 8496, -1796, 1376,
	-1786, -2107, -4406, -197, -115, -194, -3047, 644,
	931, -493, -713, 150, 640, 926, -195, 150,
	3143, 3483, 3546, -793, 4489, -603, -740, -767,
	-38, -1230, -668, -680, -754, 152, 168, 171,
	-861, -954, -971, 217, 2845, 7965, 3695, -5432,
	3978, -494, -3873, -833, -1801, -966, -1383, -641,
	-1796, 943, 2641, 1225, -691, -1934, -897, 1319,
	1538, 150, 7139, 2049, 3097, -144, -1, -3110,
	-256, -585, -14, -670, -65, -192, -18, -892,
	-290, -28, -1349, -387, 618, 7520, 4729, -238,
	-3373, -23, -3452, -1365, -3, -694, -283, -178,
	-2170, 8, 109, 68, 127, 1548, 973, -49,
	2965, -3013, 7912, 7076, -1997, -536, -554, -3821,
	-3056, -243, 545, -1431, 1455, -1280, 1301, -3417,
	361, -367, 964, 862, 2443, -929, -1113, 9677,
	4138, -364, -52, -75, -5716, -1045, 138, 166,
	-63, -1443, 549, 657, -617, 234, 281, -2444,
	1966, 3309, 10085, -3399, 2105, -236, -668, -6207,
	-705, -270, -397, -1210, -2037, 408, 686, 2092,
	-252, -425, -1295, 436, -112, -1368, 8868, 4822,
	2048, 0, -114, -4800, -1419, -256, -9, 61,
	740, 33, 402, -2610, 14, 171, -1108, -602,
	-2597, 438, -1839, 6229, 7266, -411, -11, -206,
	-2368, -3223, 69, -291, 49, 987, -166, 699,
	1152, -194, 816, -2763, 3454, 553, 9127, 4946,
	-5596, -728, -18, -5084, -1493, -1911, -116, -1924,
	-308, -1042, -166, -2755, 1179, 188, 3117, 1689,
	-532, -663, 12262, 2495, -1004, -17, -26, -9177,
	-380, -61, -21, 398, 496, 81, 101, -1867,
	-32, -40, 751, 152, -2100, 1317, -1509, 11425,
	2997, -269, -105, -139, -7967, -548, 168, -193,
	121, 1464, -918, 1052, 384, -240, 276, -2090,
	1193, -2697, 11259, 5373, -763, -86, -444, -7737,
	-1762, -35, 196, -819, 1853, -391, 884, -3692,
	55, -125, 525, 250, 2405, -471, 11079, 203,
	782, -353, -13, -7491, -2, -37, 69, -1626,
	318, -29, 5, -137, -114, 22, -529, -9,
	-1871, 5685, 11290, -2662, 1353, -213, -1972, -7780,
	-432, -111, 649, 1289, -3917, -304, 923, 1834,
	154, -469, -932, 220, -3768, 5927, -3093, 5041,
	5212, -866, -2144, -584, -1551, -1658, 1363, -711,
	1119, 1159, -1824, 951, 1198, -1885, 984, -1603,
	-2546, 9502, 5969, -2440, 1928, -395, -5511, -2175,
	-363, -226, 1477, 927, -3462, -379, 1415, 889,
	299, -1118, -702, 287, -4963, 3568, 4592, 5508,
	3451, -1503, -777, -1287, -1851, -727, 1080, 1391,
	-1000, 1668, -1199, -1543, 1045, -751, -967, -1160,
	1745, -2586, 3983, 10899, -1551, -186, -408, -968,
	-7250, -146, 275, -424, 628, -1161, 1720, -2649,
	165, -244, 377, 1032, 867, -456, -727, 3369,
	11822, -45, -12, -32, -692, -8531, 24, 38,
	-20, -178, 93, 149, -625, 329, 525, -2431,
	7535, 2422, 1926, 1405, 1599, -3466, -358, -226,
	-120, -156, -1114, -886, -284, -646, -207, -165,
	-735, -236, -188, -137, 1041, -735, -142, 13209,
	1515, -66, -33, -1, -10649, -140, 46, 9,
	-6, -839, 593, 114, -96, 68, 13, -1222,
	7950, 6745, -1444, -1008, 2721, -3857, -2777, -127,
	-62, -452, -3273, 700, 594, 489, 415, -88,
	-1320, -1120, 239, 167, -4754, -1379, 4522, -578,
	-5733, -1379, -116, -1248, -20, -2006, -400, 1312,
	380, -167, -48, 159, -1663, -482, 1582, -202,
	3220, 5978, 5923, 2430, -2689, -633, -2181, -2141,
	-360, -441, -1175, -1164, -2161, -477, -886, -878,
	528, 981, 972, 398, 377, 1312, 13978, -1470,
	677, -8, -105, -11925, -132, -28, -30, -321,
	-1119, 33, 117, 1254, -15, -54, -577, 60,
	-3435, 6770, 314, -885, 5686, -720, -2797, -6,
	-47, -1973, 1419, 65, -129, -185, 366, 16,
	1192, -2349, -109, 307, 3171, 8774, -2260, 2679,
	3069, -613, -4699, -312, -438, -575, -1698, 437,
	1210, -518, -1435, 369, -594, -1643, 423, -501,
	5557, 1509, 5407, -125, -7386, -1884, -139, -1784,
	0, -3330, -511, -1834, -498, 42, 11, 41,
	2505, 680, 2438, -56, -2838, 2595, 13228, 271,
	1793, -491, -411, -10680, -4, -196, 449, 2291,
	-2095, 47, -42, -219, 310, -284, -1447, -29,
	664, -278, 14966, 951, -711, -26, -4, -13672,
	-55, -30, 11, -606, 253, -38, 16, -869,
	28, -12, 650, 41, 808, 1770, 8658, 5863,
	-1486, -39, -191, -4576, -2098, -134, -87, -427,
	-935, -289, -633, -3098, 73, 160, 785, 531,
	3063, 1539, 2000, -542, 9576, -572, -144, -244,
	-17, -5597, -287, -374, -188, 101, 51, 66,
	-1790, -900, -1169, 317, 514, 14083, -323, 896,
	-891, -16, -12106, -6, -49, -48, -442, 10,
	277, -28, -770, 17, 27, 766, -17, 48,
	892, 158, 5237, 11057, -1603, -48, -1, -1674,
	-7462, -156, -8, -285, -50, -602, -106, -3534,
	87, 15, 512, 1082, -1612, 2564, -4296, 12526,
	5710, -158, -401, -1126, -9576, -1990, 252, -422,
	672, 1232, -1960, 3284, 561, -893, 1497, -4365,
	4889, -6878, 612, 6109, 4753, -1459, -2887, -22,
	-2277, -1379, 2052, -182, 257, -1823, 2564, -228,
	-1418, 1995, -177, -1772, 3053, -506, 2403, 9625,
	1322, -569, -15, -352, -5655, -106, 94, -448,
	74, -1794, 297, -1412, -246, 40, -194, -777,
	-754, 12904, 4480, -2113, 1471, -34, -10163, -1225,
	-272, -132, 594, 206, -3529, -97, 1664, 577,
	67, -1159, -402, 189, 4255, 1476, 5055, 2393,
	2912, -1105, -132, -1559, -349, -517, -383, -1313,
	-455, -621, -215, -738, -756, -262, -898, -425,
	-1371, 535, 1417, 14604, -997, -114, -17, -122,
	-13017, -60, 44, 118, -46, 1222, -477, -1263,
	-83, 32, 86, 888, 5368, -1744, 4083, -1236,
	3753, -1758, -185, -1017, -93, -860, 571, -1338,
	434, 405, -131, 308, -1229, 399, -935, 283,
	1588, -3097, 14415, 3699, -1171, -154, -585, -12683,
	-835, -83, 300, -1397, 2725, -358, 699, -3255,
	113, -221, 1030, 264, 212, 7989, 9471, -3344,
	2009, -2, -3895, -5475, -682, -246, -103, -123,
	-4618, 43, 1630, 1933, -26, -979, -1161, 410,
	856, 2294, -627, 6930, 6929, -44, -321, -24,
	-2931, -2930, -119, 32, 87, -362, -970, 265,
	-362, -970, 265, -2931, 2357, -4187, 7162, 7683,
	3371, -339, -1070, -3131, -3603, -693, 602, -1030,
	1830, -1105, 1963, -3359, -485, 861, -1474, -1581,
	350, 4585, 14053, -3819, 1218, -7, -1283, -12054,
	-890, -90, -97, -300, -3933, 81, 1068, 3275,
	-26, -341, -1045, 284, -3248, 3531, 475, 2137,
	11711, -644, -761, -13, -278, -8372, 700, 94,
	-102, 423, -460, -62, 2322, -2524, -340, -1528,
	-3017, 3852, 1725, 8440, 5257, -555, -905, -181,
	-4348, -1686, 709, 317, -405, 1554, -1984, -889,
	968, -1236, -553, -2708, -909, 3196, 15512, -2528,
	1066, -50, -623, -14686, -390, -69, 177, 861,
	-3026, -140, 493, 2393, 59, -208, -1009, 164,
	959, -3370, 9617, 9545, -1761, -56, -693, -5645,
	-5561, -189, 197, -563, 1978, -558, 1963, -5603,
	103, -362, 1034, 1026, 7575, 11796, -4845, 3252,
	-1703, -3502, -8493, -1433, -645, -177, -5454, 2240,
	3488, -1503, -2341, 961, 787, 1226, -503, 338,
	6409, 1722, 1764, -4191, 6015, -2507, -181, -189,
	-1072, -2208, -673, -690, -185, 1639, 440, 451,
	-2353, -632, -647, 1538, -2420, 12161, 5038, 1286,
	-2098, -357, -9027, -1549, -100, -268, 1796, 744,
	-3740, 190, -954, -395, -310, 1557, 645, 164,
	-2232, -1341, 7246, 9470, -1977, -304, -109, -3204,
	-5474, -238, -182, 987, 593, 1290, 775, -4188,
	-269, -161, 874, 1143, 1030, 7034, 4231, 1551,
	3077, -64, -3019, -1093, -146, -577, -442, -266,
	-1816, -97, -666, -400, -193, -1321, -794, -291,
	5121, 11835, -477, -1749, 2298, -1601, -8549, -13,
	-186, -322, -3699, 149, 344, 546, 1264, -50,
	-718, -1660, 66, 245, -3328, 3827, 5921, 9976,
	-1045, -676, -894, -2140, -6075, -66, 777, 1203,
	-1383, 2027, -2330, -3605, -212, 244, 377, 636,
	3813, 5718, -4666, -3412, 5674, -887, -1995, -1329,
	-710, -1965, -1331, 1086, 1628, 794, 1191, -972,
	-1320, -1980, 1616, 1181, 1348, -3672, 13154, 6938,
	-1690, -110, -823, -10561, -2938, -174, 302, -1082,
	2948, -570, 1555, -5570, 139, -379, 1357, 716,
	2151, -3586, 6949, 12131, -1224, -282, -785, -2947,
	-8982, -91, 470, -912, 1521, -1592, 2655, -5145,
	160, -268, 519, 906, -2889, 9647, 10276, -2728,
	995, -509, -5680, -6445, -454, -60, 1701, 1812,
	-6051, -481, 1606, 1711, 175, -586, -624, 165,
	6177, 2184, 555, 1985, 6589, -2329, -291, -18,
	-240, -2650, -823, -209, -74, -748, -264, -67,
	-2484, -878, -223, -798, -492, 391, 17166, -681,
	240, -14, -9, -17987, -28, -3, 11, 515,
	-410, -20, 16, 713, 7, -5, -252, 10,
	12628, 5448, -2630, 3011, -2695, -9733, -1811, -422,
	-553, -443, -4199, 2027, 874, -2321, -1001, 483,
	2077, 896, -432, 495, -3628, -534, 3447, 7002,
	6751, -803, -17, -725, -2992, -2782, -118, 763,
	112, 1550, 228, -1473, 1495, 220, -1420, -2885,
	-5239, 5901, 8107, 3650, 4846, -1675, -2125, -4012,
	-813, -1433, 1887, 2592, -2920, 1167, -1315, -1806,
	1550, -1745, -2398, -1080, 6157, 6678, 4099, -1074,
	2348, -2314, -2722, -1025, -70, -336, -2509, -1540,
	-1670, 403, 437, 268, -882, -957, -587, 153,
	1079, 16099, 242, -881, 1690, -71, -15820, -3,
	-47, -174, -1060, -16, -238, 58, 865, 13,
	-111, -1661, -25, 90, -278, 227, -1039, 1636,
	16945, -4, -3, -65, -163, -17526, 3, -17,
	14, 27, -22, 103, 287, -234, 1074, -1693,
	15778, -1454, 574, -603, -107, -15195, -129, -20,
	-22, 0, 1400, -553, 51, 581, -53, 21,
	103, -9, 3, -3, 2406, -836, 13224, 7993,
	-4266, -353, -42, -10673, -3899, -1111, 122, -1942,
	674, -1174, 407, -6451, 626, -217, 3443, 2081,
	3184, 14368, -3336, 2255, -1801, -619, -12600, -679,
	-310, -198, -2793, 648, 2926, -438, -1977, 459,
	350, 1580, -366, 247, -1698, 17076, 2504, -539,
	-646, -176, -17798, -382, -17, -25, 1770, 259,
	-2610, -55, 561, 82, -67, 673, 98, -21,
	2375, -797, -2696, 14483, 5383, -344, -38, -443,
	-12803, -1769, 115, 391, -131, -2100, 705, 2384,
	-780, 262, 886, -4759, -2691, 2554, -4520, 9573,
	10655, -442, -398, -1247, -5594, -6930, 419, -742,
	704, 1572, -1492, 2641, 1750, -1661, 2939, -6226,
	-4332, -4399, -1657, 4880, 7375, -1145, -1181, -167,
	-1453, -3319, -1163, -438, -444, 1290, 1310, 493,
	1950, 1980, 745, -2196, -3498, 7405, 9955, 2693,
	-2971, -746, -3347, -6049, -442, -538, 1581, 2125,
	-4499, 575, -1217, -1636, -634, 1342, 1805, 488,
	6717, -3792, 7739, 2798, 3489, -2754, -877, -3655,
	-477, -743, 1554, -3173, 1791, -1147, 647, -1321,
	-1430, 807, -1648, -595, 5263, 9770, 3463, 1069,
	-3971, -1690, -5826, -732, -69, -962, -3138, -1112,
	-2065, -343, -637, -226, 1275, 2368, 839, 259,
	1243, -2634, 16772, 1871, 332, -94, -423, -17169,
	-213, -6, 199, -1273, 2696, -142, 300, -1915,
	-25, 53, -339, -37, 2691, 2836, 3105, 5711,
	4817, -442, -491, -588, -1991, -1416, -465, -510,
	-537, -938, -988, -1082, -791, -834, -913, -1679,
	4366, 2944, 7210, 3627, 1161, -1163, -529, -3172,
	-803, -82, -784, -1921, -1295, -966, -651, -1596,
	-309, -208, -511, -257, 13888, 3951, -671, -2305,
	3354, -11773, -953, -27, -324, -686, -3349, 569,
	161, 1954, 556, -94, -2843, -809, 137, 472,
	7053, 5847, 2929, 8378, -4794, -3036, -2086, -523,
	-4284, -1403, -2517, -1261, -1045, -3607, -2990, -1498,
	2064, 1711, 857, 2451, -2191, 12838, 9182, -3915,
	1617, -293, -10059, -5146, -935, -159, 1717, 1228,
	-7195, -523, 3068, 2194, 216, -1267, -906, 386,
	-4881, 13114, 5767, -435, 4155, -1454, -10498, -2030,
	-11, -1054, 3907, 1718, -4616, -129, 348, 153,
	1238, -3326, -1462, 110, 7843, -1250, 210, 7106,
	-5203, -3754, -95, -2, -3082, -1652, 598, -100,
	16, -3402, 542, -91, 2491, -397, 66, 2257,
	-2463, 8168, 14551, -3908, 1828, -370, -4072, -12923,
	-932, -204, 1228, 2188, -7254, -587, 1948, 3471,
	274, -911, -1623, 436, -1579, 347, -272, -2735,
	16031, -152, -7, -4, -456, -15686, 33, -26,
	5, -263, 58, -45, 1545, -340, 266, 2676,
	-6327, 1328, 5093, -5079, 7617, -2443, -107, -1583,
	-1574, -3541, 513, 1967, -413, -1961, 411, 1578,
	2941, -617, -2367, 2361, 3286, -4509, 11306, 11025,
	-2623, -659, -1241, -7802, -7419, -420, 904, -2267,
	3112, -2211, 3034, -7608, 526, -722, 1810, 1765,
	5567, 17853, -3754, 1166, -519, -1892, -19455, -860,
	-83, -16, -6067, 1275, 4090, -396, -1271, 267,
	176, 566, -119, 37, -2136, -424, 15292, 5108,
	-1648, -278, -10, -14273, -1593, -165, -55, 1993,
	396, 666, 132, -4768, -214, -42, 1538, 514,
	2267, -3297, 2549, 16563, -791, -313, -663, -396,
	-16745, -38, 456, -352, 513, -2291, 3333, -2576,
	109, -159, 123, 799, 3655, 1899, -3364, 6279,
	12510, -815, -220, -690, -2406, -9552, -423, 750,
	390, -1400, -728, 1289, -2791, -1450, 2568, -4794,
	8052, 2285, -6193, 5138, 6003, -3957, -318, -2341,
	-1611, -2199, -1123, 3044, 864, -2525, -716, 1942,
	-2950, -837, 2269, -1882, -386, -2291, 7679, 15387,
	-2723, -9, -320, -3599, -14452, -452, -54, 181,
	1074, 362, 2152, -7212, -64, -380, 1276, 2557,
	2777, -1173, 3984, 13079, 2508, -470, -84, -969,
	-10440, -384, 198, -675, 285, -2217, 936, -3180,
	-425, 179, -610, -2002, -1879, 1771, -2684, 16705,
	1833, -215, -191, -439, -17032, -205, 203, -308,
	290, 1916, -1805, 2736, 210, -198, 300, -1869,
	1052, 4495, 15519, 1467, -4032, -67, -1233, -14700,
	-131, -992, -288, -997, -4257, -94, -402, -1389,
	259, 1106, 3819, 361, 3010, 2544, 6969, 7559,
	1996, -553, -395, -2964, -3487, -243, -467, -1280,
	-1082, -1388, -1174, -3215, -366, -310, -849, -921,
	-5209, -1867, 8713, 10351, 1549, -1656, -212, -4634,
	-6540, -146, -593, 2770, 993, 3291, 1180, -5505,
	492, 176, -824, -979, -4314, 8513, 913, 7547,
	-2723, -1135, -4423, -50, -3476, -452, 2241, 240,
	-474, 1987, -3921, -420, -717, 1415, 151, 1254,
	12929, -1219, 2448, 1757, 6303, -10204, -90, -365,
	-188, -2425, 962, -1932, 182, -1386, 130, -262,
	-4974, 469, -941, -676, 6465, 4132, 3167, 3160,
	5697, -2551, -1042, -612, -609, -1981, -1630, -1249,
	-798, -1247, -797, -611, -2248, -1437, -1101, -1099,
	-3636, 4859, 18914, -1335, 810, -807, -1441, -21836,
	-108, -40, 1078, 4198, -5609, -296, 396, 1541,
	179, -240, -936, 66, 8844, 7864, 654, -4063,
	-5680, -4774, -3774, -26, -1007, -1969, -4245, -353,
	-314, 2193, 1950, 162, 3066, 2726, 226, -1408,
	1859, 2634, 9228, 996, 9464, -211, -423, -5197,
	-60, -5467, -299, -1047, -1483, -113, -160, -561,
	-1074, -1521, -5330, -575, 2949, 12260, 10290, -497,
	-3943, -530, -9174, -6463, -15, -949, -2206, -1852,
	-7700, 89, 372, 312, 709, 2950, 2476, -119,
	-2903, 1552, 14867, 9970, -496, -514, -147, -13491,
	-6068, -15, 275, 2634, -1408, 1766, -944, -9047,
	-87, 47, 450, 302, 3243, 8234, 7586, 3373,
	2151, -642, -4138, -3512, -694, -282, -1630, -1501,
	-3812, -667, -1695, -1561, -425, -1081, -996, -442,
	-9631, 60, 3501, 5359, 10150, -5662, 0, -748,
	-1752, -6288, 35, 2058, -12, 3150, -19, -1145,
	5967, -37, -2169, -3320, -6874, -2553, -5446, -2195,
	-7841, -2884, -397, -1810, -294, -3753, -1071, -2285,
	-848, -921, -342, -729, -3290, -1221, -2606, -1050,
	-3413, -1141, 4630, 13612, 7897, -711, -79, -1308,
	-11310, -3806, -237, 964, 322, 2836, 948, -3847,
	1645, 550, -2231, -6561, 4410, -5678, 8006, -3992,
	3811, -1187, -1968, -3912, -973, -886, 1528, -2155,
	2775, 1074, -1383, 1951, -1025, 1321, -1862, 928,
	5659, 11535, 2203, -452, 7169, -1954, -8121, -296,
	-12, -3137, -3984, -761, -1551, 156, 318, 60,
	-2476, -5048, -964, 197, 2914, -2914, 3485, -3965,
	13675, -518, -518, -741, -959, -11414, 518, -620,
	620, 705, -705, 843, -2433, 2432, -2909, 3310,
	7843, 1907, 1022, 8882, 7972, -3755, -222, -63,
	-4815, -3879, -913, -489, -119, -4252, -1034, -554,
	-3816, -928, -497, -4322, 13807, 9531, 1436, 1612,
	1779, -11636, -5544, -125, -158, -193, -8032, -1210,
	-835, -1358, -938, -141, -1499, -1035, -156, -175,
	13620, -5337, 5450, -2263, 1723, -11322, -1738, -1813,
	-312, -181, 4436, -4531, 1775, 1881, -737, 752,
	-1432, 561, -573, 238, 5297, 8374, 8872, 7694,
	6538, -1712, -4280, -4804, -3613, -2609, -2707, -2868,
	-4534, -2487, -3932, -4166, -2113, -3341, -3540, -3070
};

/*
**  AcbkGainTablePtr:
**
**  Purpose:
**      Contains pointers to 85 and 170 element codebooks
**
*/

int16_t *AcbkGainTablePtr[2] = {
	AcbkGainTable085,
	AcbkGainTable170,
};

/*
**  LpfConstTable:
**
**  Purpose:
**      Sets the postfilter gain weighting factor.
**
**  Table Structure:
**      (0.1875 , 0.25) in Q15 ( i.e. scale by 32768 ).

*/

int16_t LpfConstTable[2] = {
	0x1800,
	0x2000,
};

/*
**  epsi170:
**
**  Purpose:
**      At the lower bitrate, the pitch contribution is added
**      into the output vector of ACELP when the pitch period is
**      less than 60 samples (one subframe). The pitch contribution
**      is estimated by a 1 tap long term predictor (LTP) instead of
**      the 5 tap LTP used in pitch prediction. The values in epsi170
**      effectively choose one of the 5 vectors used in the 5 tap LTP.
**
**  Table Structure:
**      The table is indexed by the index into the AcbkGainTable170
**      table (determined in Find_Acbk). The value, 60, is used only
**      as a place holder. They correspond to zeros in the gain170
**      table, which is the coefficient of the 1 tap long term
**      predictor (LTP).  The rest of the values range from -2 to +2.
**      These values pick one vector among the 5 vectors centered one
**      pitch period behind the current vector. (In contrast, the 5
**      tap LTP uses all five vectors centered one pitch period back.)
*/
int16_t epsi170[170] = {
	60, 0, 60, 0, 1, 0, 0, 1,
	-1, 1, 0, -1, 2, -2, 0, 1,
	0, 0, -1, 0, 0, 0, 1, 0,
	-1, -1, 1, -1, 1, -2, 1, -1,
	60, 0, 0, 1, 1, 0, 1, 1,
	-1, 1, -1, -1, -1, 0, 60, -2,
	0, 1, 0, -1, 1, 1, 0, 1,
	2, -1, 0, 1, 0, 0, 0, 60,
	-1, 1, 1, 2, -1, 1, -1, 60,
	-1, 0, 1, 0, -1, 0, 0, 0,
	1, -1, 0, 1, -1, 0, -1, 0,
	1, 60, 0, 0, 1, 1, 0, 2,
	1, 0, 1, -2, 0, -1, 1, 0,
	-1, 1, 0, 0, 1, 0, 0, 0,
	60, 1, 1, -1, -1, 2, -2, 0,
	-1, -1, 60, 2, 60, 0, 0, 60,
	0, 0, 0, -2, 60, -1, 0, 60,
	0, 2, 0, 0, -1, 0, 1, 2,
	60, 1, 1, 1, 0, 0, 60, 0,
	60, 0, 0, 60, 60, -1, 0, 0,
	60, 60, 1, 0, 60, 2, 60, -2,
	-2, 0
};

/*
**  gain170:
**
**  Purpose:
**      At the lower bitrate, the pitch contribution is added into
**      the output vector of ACELP when the pitch period is less than
**      60 samples (one subframe). The pitch contribution
**      is estimated by a 1 tap long term predictor (LTP) instead of
**      the 5 tap LTP used in pitch prediction. This table holds the
**      coefficient for the one tap filter.
**
**  Table Structure:
**      The table is indexed by the index into the AcbkGainTable170
**      table (determined in Find_Acbk). The values are in Q12.
*/

int16_t gain170[170] = {
	0, 2489, 0, 5217, 6171, 3953, 10364, 9357,
	8843, 9396, 5794, 10816, 11606, 12072, 8616, 12170,
	14440, 7787, 13721, 18205, 14471, 15807, 15275, 13480,
	18375, 0, 11194, 13010, 18836, 20354, 16233, 0,
	0, 12130, 13385, 17834, 20875, 21996, 0, 18277,
	21321, 13738, 19094, 20387, 0, 21008, 0, 22807,
	15900, 0, 17989, 22259, 24395, 23138, 23948, 22997,
	22604, 25942, 26246, 25321, 26423, 24061, 27247, 0,
	25572, 23918, 25930, 26408, 19049, 27357, 24538, 0,
	25093, 28549, 0, 22793, 25659, 29377, 30276, 26198,
	22521, 28919, 27384, 30162, 0, 24237, 30062, 21763,
	30917, 0, 31284, 29433, 26821, 28655, 31327, 30799,
	31389, 32322, 31760, 31830, 26936, 31180, 30875, 27873,
	30429, 31050, 0, 31912, 31611, 31565, 25557, 31357,
	0, 29536, 28985, 26984, 31587, 30836, 31133, 30243,
	30742, 32090, 0, 30902, 0, 30027, 29042, 0,
	31756, 24553, 25636, 30501, 0, 29617, 30649, 0,
	29274, 30415, 27480, 31213, 28147, 30600, 31652, 29068,
	0, 28571, 28730, 31422, 28257, 24797, 0, 0,
	0, 22105, 27852, 0, 0, 24214, 24642, 23305,
	0, 0, 22883, 21601, 0, 25650, 0, 31253,
	25144, 17998
};

/*
**  tabgain170:
**
**  Purpose:
**      In the taming procedure at the encoder the 170 5-taps LT filters
**      are modelled as 1-tap filter. This table gives the gain
**      value attributed to each filter as a worst case gain
**
**  Table Structure:
**      The table is indexed by the index into the AcbkGainTable170
**      table (determined in Find_Acbk). The values are in Q13.
*/
int16_t tabgain170[170] = {
	1024, 1591, 1678, 1891, 2120, 2399, 2966, 3049,
	3185, 3317, 3433, 3523, 3729, 3779, 3789, 4262,
	4450, 4469, 4713, 4944, 4950, 4980, 5010, 5032,
	5299, 5389, 5389, 5389, 5646, 5701, 5733, 5765,
	5997, 5997, 6150, 6211, 6336, 6360, 6415, 6415,
	6430, 6440, 6461, 6461, 6512, 6601, 6787, 6872,
	6931, 6972, 6984, 7056, 7056, 7105, 7117, 7123,
	7136, 7161, 7167, 7180, 7180, 7262, 7308, 7334,
	7334, 7387, 7407, 7434, 7441, 7441, 7481, 7536,
	7564, 7592, 7685, 7714, 7758, 7772, 7794, 7802,
	7817, 7839, 7869, 7885, 7907, 7946, 7992, 8039,
	8063, 8087, 8087, 8167, 8184, 8200, 8200, 8241,
	8266, 8283, 8308, 8308, 8334, 8376, 8402, 8463,
	8516, 8524, 8533, 8641, 8669, 8696, 8752, 8761,
	8799, 8828, 8943, 9112, 9122, 9133, 9153, 9288,
	9299, 9373, 9384, 9384, 9405, 9416, 9471, 9503,
	9559, 9581, 9660, 9660, 9718, 9799, 9823, 9846,
	9846, 9930, 10039, 10164, 10227, 10291, 10436, 10503,
	10516, 10530, 10598, 10611, 10625, 11040, 11070, 11100,
	11115, 11315, 11331, 11804, 12100, 12263, 12263, 12300,
	12337, 12431, 12800, 12962, 13065, 13496, 13815, 14100,
	14198, 18409
};

/*
**  tabgain85:
**
**  Purpose:
**      In the taming procedure at the encoder the 85 5-taps LT filters
**      are modelled as 1-tap filter. This table gives the gain
**      value attributed to each filter as a worst case gain
**
**  Table Structure:
**      The table is indexed by the index into the AcbkGainTable085
**      table (determined in Find_Acbk). The values are in Q13.
*/
int16_t tabgain85[85] = {
	1024, 1308, 1906, 2291, 2511, 2736, 3298, 3489,
	3531, 3844, 4360, 4541, 4684, 4813, 5069, 5528,
	5577, 5713, 5923, 5958, 5958, 6064, 6132, 6331,
	6370, 6527, 6533, 6575, 6633, 6671, 6832, 6832,
	6972, 6996, 7199, 7205, 7414, 7529, 7543, 7543,
	7692, 7758, 7839, 7839, 7869, 7992, 8000, 8016,
	8055, 8079, 8119, 8208, 8250, 8266, 8291, 8300,
	8325, 8402, 8445, 8605, 8623, 8687, 8752, 8837,
	8847, 8973, 9002, 9012, 9184, 9593, 9672, 9752,
	9846, 9978, 10139, 10202, 10317, 10476, 10598, 10598,
	10695, 11425, 11670, 14629, 15255
};

/*
**  fact   :
**  L_bseg :
**  base   :
**
**  Purpose:
**      Quantization of the SID gain procedure
**      table fact :
**      for n = 0 :  used to quantize the excitation energy estimation
**                   in Comp_Info()
**                   fact(0) = 32768 / (2 * SubFrLen)
**
**      for n >= 1 : used for average energy calculation
**                   fact(n) = fact_mul**2 * 32768 / n * Frame
**      table L_bseg : for each segment of the pseudo-log quantizer,
**                     gives the energy level corresponding to
**                     the first value of the next segment
**      table base : first code of each segment
**
*/
int16_t nfact[4] = { 273, 998, 499, 333 };
int32_t L_bseg[3] = { 2048L, 18432L, 231233L };	/* Bug fixed 24-09-96 */
int16_t base[3] = { 0, 32, 96 };
